草庐IT

SQL Server 游标

全部标签

python - 游标和连接对象的区别

我对为什么python需要光标对象感到困惑。我知道jdbc并且那里的数据库连接非常直观,但是在python中我对游标对象感到困惑。我也怀疑cursor.close()和connection.close()函数在资源释放方面有什么区别。 最佳答案 游标范式并非特定于Python,而是databasesthemselves中常见的数据结构。.根据底层实现,可能会生成多个共享同一个数据库连接的游标。关闭游标应该释放与查询关联的资源,包括从未从数据库中获取(或已获取但未使用)的任何结果,但不会消除与数据库本身的连接,因此您将能够在同一数据库

python - 为什么 MySQLdb 连接上下文管理器不关闭游标?

MySQLdbConnections有一个基本的上下文管理器,它在enter上创建一个游标,在exit上回滚或提交,并且隐式不t抑制异常。来自Connectionsource:def__enter__(self):ifself.get_autocommit():self.query("BEGIN")returnself.cursor()def__exit__(self,exc,value,tb):ifexc:self.rollback()else:self.commit()那么,有谁知道为什么退出时光标没有关闭?起初,我认为这是因为关闭游标并没有做任何事情,并且游标只有一个关闭方法来尊

python - 为什么通过 ORM 加载 SQLAlchemy 对象比通过原始 MySQLdb 游标加载行慢 5-8 倍?

我注意到SQLAlchemy获取(和ORMing)一些数据的速度很慢,而使用裸SQL获取的速度相当快。首先,我创建了一个包含一百万条记录的数据库:mysql>usefoomysql>describeFoo;+-------+---------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------+---------+------+-----+---------+-------+|id|int(11)|NO|PRI|NULL|||A|int(11)|NO||NULL|||B|int(11)|N

python - 将pyodbc游标结果输出为python字典

如何将pyodbc游标输出(来自.fetchone、.fetchmany或.fetchall)序列化为Python字典?我正在使用bottlepy,需要返回dict,以便它可以将它作为JSON返回。 最佳答案 如果您不提前知道列,请使用Cursor.description建立一个列名列表和zip每行生成一个字典列表。示例假设已建立连接和查询:>>>cursor=connection.cursor().execute(sql)>>>columns=[column[0]forcolumnincursor.description]>>>p

ODBC连接数据库以SQLserver为例

ODBC连接数据库以SQLserver为例什么是ODBC利用ODBC进行数据库连接配置数据库(以SQLserver为例)首先打开SSMS(SQLservermanagementstudio)然后打开SQLserver配置管理器打开ODBC数据源管理程序配置ODBC什么是ODBCODBC是opendatabaseconnect的缩写,意思是开放式数据库连接利用ODBC进行数据库连接首先要下载数据库!!配置数据库(以SQLserver为例)首先打开SSMS(SQLservermanagementstudio)右键所连接的数据库引擎,点击属性点击安全性,选择SQLsesrver和Windows的身份

python - 为什么查询sqlite数据库时需要创建游标?

我对Python'ssqlite3module完全陌生(以及一般的SQL),这完全让我难过。大量缺乏对cursorobjects的描述(相反,它们的必要性)似乎也很奇怪。这段代码是首选的处理方式:importsqlite3conn=sqlite3.connect("db.sqlite")c=conn.cursor()c.execute('''insertintotable"users"values("JackBauer","555-555-5555")''')conn.commit()c.close()这个不是,即使它工作得一样好并且没有(看似毫无意义的)cursor:importsq

mongodb - 是否可以迭代 mongo 游标两次?

换句话说,有没有办法将它倒回到开头?编辑我正在使用mongoshell和pymongo。 最佳答案 RubyAPI有rewind!方法可以完全满足您的需求。PythonAPI还有cursor.rewind()方法。PHPAPI还有cursor.rewind()方法。但是,Java或C++API都没有rewind方法。所有可以从officialAPIpage中找到. 关于mongodb-是否可以迭代mongo游标两次?,我们在StackOverflow上找到一个类似的问题:

mongodb - 是否可以迭代 mongo 游标两次?

换句话说,有没有办法将它倒回到开头?编辑我正在使用mongoshell和pymongo。 最佳答案 RubyAPI有rewind!方法可以完全满足您的需求。PythonAPI还有cursor.rewind()方法。PHPAPI还有cursor.rewind()方法。但是,Java或C++API都没有rewind方法。所有可以从officialAPIpage中找到. 关于mongodb-是否可以迭代mongo游标两次?,我们在StackOverflow上找到一个类似的问题:

javascript - MongoDB - 不明白如何使用游标遍历集合

advertisers=db.dbname.find('myquerywhichreturnsthingscorrectly');我现在意识到它会将光标返回到集合列表。但我不确定如何遍历它们并获取每个集合。我想试试这样的:advertisers.each(function(err,advertiser){console.log(advertiser);});但这不起作用。但我在网上搜索并没有看到如何让它真正使用简单的JavaScript。然后我有这个代码:varitem;if(advertisers!=null){while(advertisers.hasNext()){item=ad

javascript - MongoDB - 不明白如何使用游标遍历集合

advertisers=db.dbname.find('myquerywhichreturnsthingscorrectly');我现在意识到它会将光标返回到集合列表。但我不确定如何遍历它们并获取每个集合。我想试试这样的:advertisers.each(function(err,advertiser){console.log(advertiser);});但这不起作用。但我在网上搜索并没有看到如何让它真正使用简单的JavaScript。然后我有这个代码:varitem;if(advertisers!=null){while(advertisers.hasNext()){item=ad